package com.ruoyi.web.domain.mes;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 废料结算对象 mes_wastesettle
 * 
 * @author levicash
 * @date 2024-01-24
 */
@Data
public class MesWastesettle extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 废料结算 */
    private Long id;

    /** 结算单编码 */
    @Excel(name = "结算单编码")
    private String code;

    /** 收款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date collectionDate;

    /** 付款单位编码 */
    @Excel(name = "付款单位编码")
    private String collectionDept;

    //付款单位编码
    private Long collectionDeptId;

    /** 付款单位名称 */
    @Excel(name = "付款单位名称")
    private String collectionDeptName;

    /** 收款项目 */
    @Excel(name = "收款项目")
    private String collectionProject;

    /** 收款方式 */
    @Excel(name = "收款方式", combo = {"现金", "转账"}, readConverterExp = "1=现金,2=转账")
    private String collectionType;

    /** 收款事由 */
    @Excel(name = "收款事由")
    private String collectionReason;

    /** 上次结余 */
    @Excel(name = "上次结余")
    private BigDecimal amountArrears;

    /** 未结算金额 */
    @Excel(name = "未结算金额")
    private BigDecimal totalAmountUnsettled;

    /** 结算金额 */
    @Excel(name = "结算金额")
    private BigDecimal amount;

    /** 总结余 */
    @Excel(name = "总结余")
    private BigDecimal totalAmountArrears;

    @Excel(name = "银行卡号")
    private String bankcardNumber;

    @Excel(name = "持卡人")
    private String cardholder;


    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 废料结算明细信息 */
    private List<MesWastesettleDetail> mesWastesettleDetailList;


    /** 附件是否变动 */
    private boolean fileIsChange;

    @TableField(exist = false)
    private Integer years; // 年份

}
